Substrate Runtime Module Library(SRML)是一組執行環境的模組集合。
Substrate Runtime 可以由幾個較小的組件組成,用於分離關注點。這些組件稱為執行環境模組。執行環境將一組功能(可調度的外部調用,公共或私有,可變或不可變),存儲項以及可能的事件打包在一起,以支持運行時的某些功能集。我們可以將 SRML 模組視為可以用於創建其他程序包或運行時的程序包(類似於 node.js 應用程序的 npm 程序包)。
SRML 系統架構
Substrate 程式庫附帶了一組執行環境模組和一些框架組件,以支持其執行環境。下圖顯示了 SRML 及其支持程式庫的系統架構組件。
有四個主要的框架組件支持運行時模組。
系統模組提供低層級的 API 和工具程式以支持其他模組。可以將其視為 SRML 的標準程式庫。特別是,系統模組為 Substrate 執行時定義了所有核心類型。它還定義了外部事件(成功/失敗)。所有其他模組(定制的或 SRML 的一部分)都取決於系統模組。
執行模組為執行環境的協作層,它負責在執行時將傳入的外部調用分派到各個模組。
支持巨集是一組 Rust 的巨集,幫助我們實現模組中常見的組件集合。這些巨集在執行時擴展生成各種類型(模組,調用,存儲,事件等),執行時將使用這些類型與模組進行通信。一些常見的巨集包含 decl_module,decl_storage,decl_event,ensure,等。
執行環境將所有框架組件和模組整合在一起。它擴展了巨集以獲取每個模組的類型和特徵。它同時也調用執行模組以便將調用轉發到各個模組。
SRML 預設一組預先定義的模組,這些模組可以在整個執行環境中重複使用。例如,SRML 中的 Balances 模組可用於追蹤帳戶和餘額,而 Assets 模組可用於創建和管理數位資產。
您可以通過繼承系統預設的模組(如上所述),或是繼承一或多個 SRML 模組來擴充開發自己的自定義模組。
以下是 SRML 已實作的模組:
接下來的三十天內,就讓我們一起跟著小明的團隊一起學習最新的兩大跨鏈技術之一:Polkadot Substrate。
Substrate 開發者資源:
https://substrate.dev
Polkadot 官網:
https://polkadot.network
BDE 社群小聚錄影:
https://bitlly.co/ogvpb
想找區塊鏈人才或想學習區塊鏈知識的夥伴。歡迎參加社群小聚,一起來輕鬆交流、互相學習成長、認識新朋友、發現新機會!
台北區塊鏈社群
https://bitlly.co/Q4dIK
台北波可道社群
https://bitlly.co/XgVTz
BDE 區塊鏈學院 - 讓每個企業都懂區塊鏈。
https://bitlly.co/mbDwX
藉著親自並協助他人進行軟體開發,
我們正致力於發掘更優良的軟體開發方法。
透過這樣的努力,我們已建立以下價值觀:
個人與互動 重於 流程與工具
可用的軟體 重於 詳盡的文件
與客戶合作 重於 合約協商
回應變化 重於 遵循計劃
也就是說,雖然右側項目有其價值,
但我們更重視左側項目。